|
|
|
Значение свойства |
Описание |
0-Non (Нет) |
Стандартный список, используемый по умолчанию. Позволяет выбирать одно значение |
1-Simple (Простой множественный выбор) |
Разрешен выбор нескольких элементов щелчком мыши или нажатием клавиши <Spacebar> (Пробел). Для отмены выбора необходимо щелкнуть мышью или нажать клавишу <Spacebar> еще раз |
2-Extended (Расширенный множественный выбор) |
Разрешен выбор нескольких элементов с помощью способа, используемого в Windows. Для выбора элементов, расположенных подряд, необходимо при нажатой клавише <Shift> выбрать первый элемент из выбираемых, а затем последний. При этом будут выбраны все размещенные между ними элементы. Для выбора элементов, расположенных не по порядку, необходимо нажать клавишу <Ctrl> и, удерживая ее нажатой, выделить требуемые элементы списка |
Для обработки множественного выбора нельзя использовать свойство Listindex, применяемое при работе с обычными списками. Выбор нескольких элементов списка фиксируется в свойстве Selected, являющимся массивом, размерность которого равна количеству элементов в списке (определяется свойством ListCount). Выбранному элементу списка соответствует значение True соответствующего элемента свойства selected, а остальным — False.
Рассмотрим пример использования свойства Selected. Разместим в форме два списка. В первый список введем элементы с использованием свойства List. Список элементов во втором списке будет формироваться при перемещении на него фокуса после выбора элементов первого списка. Таким образом, второй список будет содержать выбранные в первом списке элементы. Для создания приложения выполните следующие действия:
1. Разместите в форме два списка с помощью кнопки ListBox на панели элементов управления.
2. Используя свойство List первого списка, введите элементы списка.
3. Чтобы разрешить выбор из первого списка нескольких элементов, установите для свойства Multiselect значение 1-Simple.
4. Теперь необходимо задать процедуру формирования элементов второго списка при перемещении на него фокуса. Для этого дважды щелкните мышью на втором списке.
5. В открывшемся окне редактора кода из списка Procedure выберите событие GotFocus (Получение фокуса) и введите следующий код:
Private Sub List2_GotFocus()
List2.Clear
For i = 0 To List1.ListCount — 1
If List1.Selected(i) Then List2.Addltem (List1.List (i))
Next
End Sub
На рис. 8.14 представлен полученный результат.
Рис. 8.14. Отображение выбранных значений во втором списке
назад | содержание | вперед
|